package com.example.excelutil.service;

import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * Excel服务接口
 */
public interface ExcelService {

    /**
     * 根据列索引提取Excel文件中的数据
     *
     * @param file        Excel文件
     * @param columnIndex 列索引（从0开始）
     * @return 提取的数据列表
     */
    List<String> extractColumnByIndex(MultipartFile file, int columnIndex);

    /**
     * 根据列索引和工作表索引提取Excel文件中的数据
     *
     * @param file        Excel文件
     * @param columnIndex 列索引（从0开始）
     * @param sheetIndex  工作表索引（从0开始）
     * @return 提取的数据列表
     */
    List<String> extractColumnByIndex(MultipartFile file, int columnIndex, int sheetIndex);

    /**
     * 根据列名提取Excel文件中的数据
     *
     * @param file       Excel文件
     * @param columnName 列名
     * @return 提取的数据列表
     */
    List<String> extractColumnByName(MultipartFile file, String columnName);

    /**
     * 根据列名和工作表索引提取Excel文件中的数据
     *
     * @param file       Excel文件
     * @param columnName 列名
     * @param sheetIndex 工作表索引（从0开始）
     * @return 提取的数据列表
     */
    List<String> extractColumnByName(MultipartFile file, String columnName, int sheetIndex);
}